Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
Не вказано
Факультет:
КН
Кафедра:
Кафедра ЕОМ

Інформація про роботу

Рік:
2012
Тип роботи:
Звіт до лабораторної роботи
Предмет:
Програмування Частина III Структури даних та алгоритми

Частина тексту файла

Міністерство освіти і науки України Національний університет „Львівська політехніка” Кафедра ЕОМ Звіт з лабораторної роботи №1 з дисципліни "Програмування. Частина III. Структури даних та алгоритми" Варіант: i1 = 68 i2 = i1*(-5) = -340 f1 = 97.115 f2 = f1*(-2) = -194.23 Мета роботи Дослідження внутрішнього представлення в пам’яті комп’ютера базових типів даних статичної структури. 2. Постановка задачі Дослідити внутрішнє представлення в пам’яті комп’ютера цілих та дійсних типів даних. Розглянути наступні базові типи даних: int i1 , і2; float f1 , f2; 3. Алгоритм розв’язання задачі Спочатку ініціалізуємо змінні i1,i2,f1,f2 моїми значеннями мого варіанту. Потім почергово присвоюємо змінним типу char* адреси змінних i1, i2, f1, f2, які явно перетворюються у тип (unsigned char *) unsigned char *vi1=(unsigned char *)(&i1); unsigned char *vi2=(unsigned char *)(&i2); unsigned char *vf1=(unsigned char *)(&f1); unsigned char *vf2=(unsigned char *)(&f2); Потім у циклах виводимо значення наших вказівників *vi1, *vi2, *vf1, *vf2 на екран //print i1 printf("i1:\t"); for (int i=0;i<sizeof(i1);i++) printf("%02X ",vi1[i]); printf("\n"); //print i2 printf("i2:\t"); for (int i=0;i<sizeof(i2);i++) printf("%02X ",vi2[i]); printf("\n"); //print l1 printf("f1:\t"); for (int i=0;i<sizeof(f1);i++) printf("%02X ",vf1[i]); printf("\n"); //print i2 printf("f2:\t"); for (int i=0;i<sizeof(f2);i++) printf("%02X ",vf2[i]); printf("\n"); 4. Система тестів 4.1 Приклад 1 Int I1 = 68 68:16=4 (4); 4:16=0 (4). 6810 = 4416 = 100 01002 так як int займає 4 байта, то 100 01002 запишеться так: 0000 0000 0000 0000 0000 0000 0100 01002 ВПК: 0100 0100 0000 0000 0000 0000 0000 00002 4 4 0 0 0 0 0 016 4.2 Приклад 2 int i2 = i1*(-5) = -340 340:16=21 (4) 21:16=1 (5) 1:16=0 (1) -34010 =- 15416 = -0000 0000 0000 0000 0000 0001 0101 01002 1111 1111 1111 1111 1111 1110 1010 10112 + 1 1111 1111 1111 1111 1111 1110 1010 11002 ВПК: 1010 1100 1111 1110 1111 1111 1111 11112 A C F E F F F F16 4.3 Приклад 3 float f1 = 97.115 97.11510 = 61,1D70A3D716 = = 0110 0001,0001 1101 0111 0000 1010 0011 1101 01112 97:16=6 (1) 6:16=0 (6) 0.115*16=1.84 0.84*16=13.44 0.44*16=7.04 0.04*16=0.64 0.64*16=10.24 0.24*16=3.84 0.84*16=13.44 0.44*16=7.04 нормалізація: 01,10 0001 0001 1101 0111 0000 1010 0011 1101 01112*10110 заокруглення: 1,100 0010 0011 1010 1110 0001 мантиса m = 100 0010 0011 1010 1110 0001 Визначення зміщеного порядку: е = 12710 + 610 = 13310 = 8516 = 1000 01012 знак s = 0 Схема внутрішнього представлення: s e m  1 біт 8 біт 23 біт  Збірка за схемою: s e m  0 1000 0101 100 0010 0011 1010 1110 0001  0100 0010 1100 0010 0011 1010 1110 00012= 42 C2 3A E116 ВПК: E1 3A C2 42 4.4 Приклад 4 float f2=f1*(-2) =-194.2310 =-C2,3AE147AE16= =-1100 0010,0011 1010 1110 0001 0100 0111 1010 11102 194:16=12 (2) 12:16=0 (12) 0.23*16=3.68 0.68*16=10.88 0.88*16=14.08 0.8*16=1.28 0.28*16=4.48 0.48*16=7.68 0.68*16=10.88 0.88*16=14.08 float займає 4 байт нормалізація: 1,100 0010 0011 1010 1110 0001 0100 01112*10111 заокруглення: 1,100 0010 0011 1010 1110 00012*10111 мантиса m = 100 0010 0011 1010 1110 0001 Визначення зміщеного порядку: е = 12710 +710 =13410=8616 = 1000 01102 знак s = 1 Схема внутрішнього представлення: s e m  1 біт 8 біт 23 біт  Збірка за схемою: s e m  1 1000 0110 100 0010 0011 1010 1110 0001  1100 0011 0100 0010 0011 1010 1110 00102 = C3 42 3A E116 ВПК: E1 3A 42 C3 5. Pезультати виконання програми / Рис 1. Демонстрація роботи програми Висновки: Виконуючи лабораторну роботу я дізнався як в пам'яті комп'ютера представляються різні типи чисел, навчився вручну р...
Антиботан аватар за замовчуванням

18.03.2015 01:03

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Завантаження файлу

Якщо Ви маєте на своєму комп'ютері файли, пов'язані з навчанням( розрахункові, лабораторні, практичні, контрольні роботи та інше...), і Вам не шкода ними поділитись - то скористайтесь формою для завантаження файлу, попередньо заархівувавши все в архів .rar або .zip розміром до 100мб, і до нього невдовзі отримають доступ студенти всієї України! Ви отримаєте грошову винагороду в кінці місяця, якщо станете одним з трьох переможців!
Стань активним учасником руху antibotan!
Поділись актуальною інформацією,
і отримай привілеї у користуванні архівом! Детальніше

Оголошення від адміністратора

Антиботан аватар за замовчуванням

пропонує роботу

Admin

26.02.2019 12:38

Привіт усім учасникам нашого порталу! Хороші новини - з‘явилась можливість кожному заробити на своїх знаннях та вміннях. Тепер Ви можете продавати свої роботи на сайті заробляючи кошти, рейтинг і довіру користувачів. Потрібно завантажити роботу, вказати ціну і додати один інформативний скріншот з деякими частинами виконаних завдань. Навіть одна якісна і всім необхідна робота може продатися сотні разів. «Головою заробляти» продуктивніше ніж руками! :-)

Новини